#ifndef MaterialMetalBumpy_h
#define MaterialMetalBumpy_h

#include "Material.h"
#include "Color.h"

class MaterialMetalBumpy : public Material {
 public:
  MaterialMetalBumpy(const Color& color, float exponent, float bumpiness);
  virtual ~MaterialMetalBumpy();

  virtual void shade(Color& result, const RenderContext& context, const Ray& ray,
                     const HitRecord& hit, const Color& atten, int depth) const;

 private:
  MaterialMetalBumpy(const MaterialMetalBumpy&);
  MaterialMetalBumpy& operator=(const MaterialMetalBumpy&);
  double get_jitter() const;
  
  Color color;
  Color non_color;
  float exponent;
  float bumpiness;
};

#endif /*METALMATERIAL_H_*/
